package array;

/**
 * 给你一个整数数组 nums，请你返回其中包含 偶数 个数位的数字的个数。
 * <p>
 * 示例 1：
 * 输入：nums = [12,345,2,6,7896]
 * 输出：2
 * 解释：
 * 12 是 2 位数字（位数为偶数）
 * 345 是 3 位数字（位数为奇数）
 * 2 是 1 位数字（位数为奇数）
 * 6 是 1 位数字 位数为奇数）
 * 7896 是 4 位数字（位数为偶数）
 * 因此只有 12 和 7896 是位数为偶数的数字
 * <p>
 * 示例 2：
 * 输入：nums = [555,901,482,1771]
 * 输出：1
 * 解释：
 * 只有 1771 是位数为偶数的数字。
 *
 * @author Jisheng Huang
 * @version 20250430
 */
public class FindNumsWithEvenNumDigits_1295 {
    /**
     * Loop through the nums array and calculate the number of digits for each number.
     * Increment the num if number of digits is even
     *
     * @param nums the given integer array
     * @return the number of even digits number
     */
    public static int findNumbers(int[] nums) {
        int cnt = 0;

        for (int i : nums) {
            int num = 0;

            while (i > 0) {
                i /= 10;
                ++num;
            }

            if (num % 2 == 0) {
                ++cnt;
            }
        }

        return cnt;
    }

    public static void main(String[] args) {
        int[] arr = {12, 345, 2, 6, 7896};
        System.out.println(findNumbers(arr));

        arr = new int[]{555, 901, 482, 1771};
        System.out.println(findNumbers(arr));
    }
}
